﻿using PoemGame.Domain.GameAggregate;
using System;
using System.Threading.Tasks;

namespace ConsoleDemo.Application
{
    /// <summary>
    /// 在控制台进行人机游戏的服务层
    /// 游戏过程：
    /// 1、提示选择游戏类型，飞花令、对诗、接龙
    /// 2、提示输入上下文，进行验证，如果不适合重新输入
    /// 3、如果合适，选择人-机谁先答题
    /// 4、开始游戏，顺序答题
    /// </summary>
    public interface IConsoleDemoAppService
    {
        Task<GameCreateResult> CreateGameAsync(GameType gameType, string context);

        Task<string> GetLastPropertyAnswerAsync(Guid gameId);

        Task<GamePlayResult> PlayAsync(Guid gameId,string answer);

        Task<string> GetCurrentUser(Guid gameId);
    }
}
